<?php
// 应用公共文件

use   Firebase\JWT\JWT;

/**
 * @param $id
 * @param $type
 * @return string
 */
function getToken($id,$type): string
{
    $payload = [
        'sub' => $id, // 存储用户ID
        'exp' => time() + config('jwt.exp'), // 设定过期时间
        'type' => $type, // 存储用户类型
    ];
    return JWT::encode($payload, config('jwt.key'), config('jwt.alg')); // 生成JWT令牌
}

/**
 * 助手函数(抛出异常)
 * @param $msg
 * @throws Exception
 */
function exception($msg)
{
    throw new Exception($msg);
}
/**
 * 文本左斜杠转换为右斜杠
 * @param string $string
 * @return array|string
 */
function convert_left_slash(string $string): array|string
{
    return str_replace('\\', '/', $string);
}

/**
 * 获取web根目录
 * @return string
 */
function web_path(): string
{
    static $webPath = '';
    if (empty($webPath)) {
        $request = \think\facade\Request::instance();
        $webPath = dirname($request->server('SCRIPT_FILENAME')) . DIRECTORY_SEPARATOR;
    }
    return $webPath;
}